package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 金蝶-财务-银行转账单对象 erp_king_finance_transfer_receipt_info
 * @author wutao
 * @date 2024-06-20
 */
@TableName ("erp_king_finance_transfer_receipt_info")
@ApiModel (value = "erp_king_finance_transfer_receipt_info对象", description = "金蝶-财务-银行转账单")
@Data
public class KingFinanceTransferReceiptEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    @TableField (value = "dept_id")
    private String deptId;

    @TableField (value = "user_id")
    private String userId;

    /**
     * 单据类型,select走字典
     */
    @ApiModelProperty ("单据类型")
    @TableField ("doc_type_code")
    private String docTypeCode;

    /**
     * 业务时间
     */
    @ApiModelProperty ("业务时间")
    @TableField ("business_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "业务时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date businessTime;

    /**
     * 本币位,select走字典
     */
    @ApiModelProperty ("本币位,select走字典")
    @TableField ("currency_bit")
    @Excel (name = "本币位,select走字典")
    private String currencyBit;

    /**
     * 单据编号
     */
    @ApiModelProperty ("单据编号")
    @TableField ("bill_no")
    @Excel (name = "单据编号")
    private String billNo;

    /**
     * 应付金额
     */
    @ApiModelProperty ("应付金额")
    @TableField ("cope_money")
    @Excel (name = "应付金额")
    private String copeMoney;

    /**
     * 利率
     */
    @ApiModelProperty ("利率")
    @TableField ("rate")
    @Excel (name = "利率")
    private String rate;

    /**
     * 到期日
     */
    @ApiModelProperty ("到期日")
    @TableField ("due_date")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "到期日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dueDate;

    /**
     * 备注
     */
    @ApiModelProperty ("利息金额=转入金额*利率/365*天数（到期日-业务日期）")
    @TableField ("interest_money")
    @Excel (name = "利息金额")
    private String interestMoney;

    @ApiModelProperty ("转入金额")
    @TableField ("transfer_in_amount")
    @Excel (name = "转入金额")
    private String transferInAmount;

    /**
     * 备注
     */
    @ApiModelProperty ("备注")
    @TableField ("remarks")
    @Excel (name = "备注")
    private String remarks;

    /**
     * 汇率类型,select走字典
     */
    @ApiModelProperty ("汇率类型,select走字典")
    @TableField ("rate_type")
    @Excel (name = "汇率类型,select走字典")
    private String rateType;

    /**
     * 收付组织Id,dialog走接口
     */
    @ApiModelProperty ("收付组织Id,dialog走接口")
    @TableField ("receipt_pay_dept_id")
    @Excel (name = "收付组织Id,dialog走接口")
    private String receiptPayDeptId;

    @ApiModelProperty ("流程状态")
    @TableField ("state")
    private String state;

    @ApiModelProperty ("父Id")
    @TableField ("parent_id")
    private String parentId;

    @ApiModelProperty ("创建人")
    @TableField ("create_by")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @JsonFormat (pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField ("create_time")
    private Date createTime;

    @ApiModelProperty ("更新人")
    @TableField ("update_by")
    private String updateBy;

    @ApiModelProperty ("更新时间")
    @TableField ("update_time")
    private Date updateTime;

    @ApiModelProperty ("推送")
    @TableField ("is_send")
    private Integer isSend;

    @ApiModelProperty ("数据状态,select走接口")
    @TableField ("is_used")
    @Excel (name = "数据状态,select走接口")
    private Integer isUsed;

    @ApiModelProperty ("是否到期提醒,根据到期日计算")
    @TableField (exist = false)
    private Integer expireDay;

    @ApiModelProperty ("业务type")
    @TableField (exist = false)
    private String businessType;

    @ApiModelProperty ("流程模型id")
    @TableField (exist = false)
    private String modelId;

    @ApiModelProperty ("流程实例id")
    @TableField ("instance_id")
    private String instanceId;

    @ApiModelProperty ("明细行转入账号")
    @TableField (exist = false)
    private String detailInBankNo;

    @ApiModelProperty ("明细行转出账号")
    @TableField (exist = false)
    private String detailOutBankNo;

    @ApiModelProperty ("明细行币别")
    @TableField (exist = false)
    private String detailCurrencyName;

    @ApiModelProperty ("明细行转入金额")
    @TableField (exist = false)
    private String detailInAmount;

    @ApiModelProperty ("明细行转出金额")
    @TableField (exist = false)
    private String detailOutAmount;

    @ApiModelProperty ("明细行转入结算号")
    @TableField (exist = false)
    private String detailInNumber;

    @ApiModelProperty ("明细行转出结算号")
    @TableField (exist = false)
    private String detailOutNumber;

    @ApiModelProperty ("明细行摘要")
    @TableField (exist = false)
    private String detailDesc;

    @ApiModelProperty ("明细行付款方手续费")
    @TableField (exist = false)
    private String detailPayFee;

    @ApiModelProperty ("明细行收款方手续费")
    @TableField (exist = false)
    private String detailReceiptFee;

    @ApiModelProperty ("明细行汇率")
    @TableField (exist = false)
    private String detailRate;

    @ApiModelProperty ("明细行入账类型")
    @TableField (exist = false)
    private String detailEntryType;

    @ApiModelProperty ("明细行交易时间")
    @TableField (exist = false)
    private String detailTradingTime;

    @ApiModelProperty ("单据类型名称")
    @TableField (exist = false)
    private String docTypeName;

    @ApiModelProperty ("创建人")
    @TableField (exist = false)
    private String createUser;

    @ApiModelProperty ("收付组织名称")
    @TableField (exist = false)
    private String receiptPayDeptName;

}
